package cn.iocoder.yudao.module.apijson.framework.service;

import com.alibaba.fastjson.JSONObject;

public interface ApiJsonService {
    /**
     * 重置apijson配置
     */
    JSONObject reload(String type);

    /**
     * 查询
     */
    String get(String request);

    /**
     * 查询并验证标签
     */
    String getByTag(String tag, String request);

    /**
     * 计数
     */
    String head(String request);

    /**
     * 限制性GET，request和response都非明文，浏览器看不到，用于对安全性要求高的GET请求
     */
    String gets(String request);

    /**
     * 限制性HEAD，request和response都非明文，浏览器看不到，用于对安全性要求高的HEAD请求
     */
    String heads(String request);

    /**
     * 创建
     */
    String post(String request);

    /**
     * 创建并验证标签
     */
    String postByTag(String tag, String request);

    /**
     * 更新
     */
    String put(String request);

    /**
     * 更新并验证标签
     */
    String putByTag(String tag, String request);

    /**
     * 删除
     */
    String delete(String request);

    /**
     * 更新并验证标签
     */
    String deleteByTag(String tag, String request);

    /**
     * 支持全局事物、批量执行多条语句
     */
    String crud(String request);
}
